<?php

namespace Kaller\UserBundle\Entity;

use Symfony\Component\Security\Core\User\UserInterface;
use Symfony\Component\Security\Core\User\AdvancedUserInterface;

/**
 * Kaller\UserBundle\Entity\User
 *
 * @orm:Table()
 * @orm:Entity
 */
class User implements AdvancedUserInterface
{
    /**
     * Belső azonosító
     *
     * @var integer $id
     *
     * @orm:Column(name="id", type="integer")
     * @orm:Id
     * @orm:GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * Sso azonosító
     *
     * @var string $sso
     *
     * @orm:Column(name="sso", type="string", length=255, unique=true)
     */
    private $sso;

    /**
     * Schacc azonosító
     *
     * @var string $schacc
     *
     * @orm:Column(name="schacc", type="string", length=255, unique=true)
     */
    private $schacc;

    /**
     * Tartalmazó csoport azonosítója
     *
     * @var string $group_id
     *
     * @orm:Column(name="group_id", type="string", length=255)
     *
     * @orm:ManyToMany(targetEntity="Group")
     */
    private $group_id;

    /**
     * Tartalmazó kategória azonosítója
     *
     * @var string $category_id
     *
     * @orm:Column(name="category_id", type="string", length=255)
     *
     * @orm:ManyToMany(targetEntity="Category")
     */
    private $category_id;

    /**
     * Felhasználónév
     *
     * @var string $username
     *
     * @orm:Column(name="username", type="string", length=255)
     */

    private $username;

    /**
     * Teljes név
     *
     * @var string $fullname
     *
     * @orm:Column(name="fullname", type="string", length=255)
     */
    private $fullname;

    /**
     * Megjelenítendő név
     *
     * @var string $showname
     *
     * @orm:Column(name="showname", type="string", length=255)
     */
    private $showname;

    /**
     * Felhasználó e-mail címe
     *
     * @var string $email
     *
     * @orm:Column(name="email", type="string", length=255)
     */
    private $email;

    /**
     * Felhasználó jelszava
     *
     * @var string $password
     *
     * @orm:Column(name="password", type="string", length=255)
     */
    private $password;



    function isAccountNonExpired()
    {

    }

    function isAccountNonLocked()
    {

    }

    function isCredentialsNonExpired()
    {

    }

    function isEnabled()
    {

    }

    function getRoles()
    {

    }

    function getSalt()
    {

    }

    function eraseCredentials()
    {

    }

    function equals(UserInterface $user)
    {

    }

    /************************* Getters and Setters *************************/


    /**
     * Get id
     *
     * @return integer $id
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set sso
     *
     * @param string $sso
     */
    public function setSso($sso)
    {
        $this->sso = $sso;
    }

    /**
     * Get sso
     *
     * @return string $sso
     */
    public function getSso()
    {
        return $this->sso;
    }

    /**
     * Set schacc
     *
     * @param string $schacc
     */
    public function setSchacc($schacc)
    {
        $this->schacc = $schacc;
    }

    /**
     * Get schacc
     *
     * @return string $schacc
     */
    public function getSchacc()
    {
        return $this->schacc;
    }

    /**
     * Set group_id
     *
     * @param string $groupId
     */
    public function setGroupId($groupId)
    {
        $this->group_id = $groupId;
    }

    /**
     * Get group_id
     *
     * @return string $groupId
     */
    public function getGroupId()
    {
        return $this->group_id;
    }

    /**
     * Set category_id
     *
     * @param string $categoryId
     */
    public function setCategoryId($categoryId)
    {
        $this->category_id = $categoryId;
    }

    /**
     * Get category_id
     *
     * @return string $categoryId
     */
    public function getCategoryId()
    {
        return $this->category_id;
    }

    /**
     * Set username
     *
     * @param string $username
     */
    public function setUsername($username)
    {
        $this->username = $username;
    }

    /**
     * Get username
     *
     * @return string $username
     */
    public function getUsername()
    {
        return $this->username;
    }

    /**
     * Set fullname
     *
     * @param string $fullname
     */
    public function setFullname($fullname)
    {
        $this->fullname = $fullname;
    }

    /**
     * Get fullname
     *
     * @return string $fullname
     */
    public function getFullname()
    {
        return $this->fullname;
    }

    /**
     * Set showname
     *
     * @param string $showname
     */
    public function setShowname($showname)
    {
        $this->showname = $showname;
    }

    /**
     * Get showname
     *
     * @return string $showname
     */
    public function getShowname()
    {
        return $this->showname;
    }

    /**
     * Set email
     *
     * @param string $email
     */
    public function setEmail($email)
    {
        $this->email = $email;
    }

    /**
     * Get email
     *
     * @return string $email
     */
    public function getEmail()
    {
        return $this->email;
    }

    /**
     * Set password
     *
     * @param string $password
     */
    public function setPassword($password)
    {
        $this->password = $password;
    }

    /**
     * Get password
     *
     * @return string $password
     */
    public function getPassword()
    {
        return $this->password;
    }
}
